#ifndef CALLBACKS_H
#define CALLBACKS_H

#include "headers.h"

/*
 * these functions are called when SAX parsing a document
 */

void callBackElementNSStart(void *ctxt,
														const xmlChar * localname,
														const xmlChar * prefix,
														const xmlChar * ns,
														int nb_namespaces,          
														const xmlChar ** namespaces,
														int nb_attributes,
														int nb_defaulted,
														const xmlChar ** attributes);

void callBackElementNSEnd(void *ctxt,
													const xmlChar * localname,
													const xmlChar * prefix,
													const xmlChar * ns);

void callBackChars(void *ctxt, 
									 const xmlChar *chars, 
									 int len);

void callBackDocumentStart(void *ctxt);

void callBackDocumentEnd(void *ctxt);

void callBackPI(void *ctxt,
								const xmlChar *target,
								const xmlChar *data);

void callBackCom(void *ctxt,
								 const xmlChar *value);

void callBackEntity(void *ctxt,
										const xmlChar *name,
										int type,
										const xmlChar *publicID,
										const xmlChar *systemID,
										xmlChar *content);

xmlEntityPtr callBackGetEntity(void *ctxt,
															 const xmlChar *name);

void callBackError(void *ctxt,
									 const char *message,
									 ...);

#endif
